import { useMessage } from '@/hook/useMessage';

// axios  服务器异常响应错误统一处理
export const statusErrorCodeType = function (
  code: string | number | undefined,
): void {
  let errorMessage = '未知错误';
  switch (code) {
    case 400:
      errorMessage = `请求类型错误 --异常服务状态码${code}`;
      break;
    case 401:
      errorMessage = `未授权，请重新登录 --异常服务状态码${code}`;
      break;
    case 403:
      errorMessage = `拒绝访问 --异常服务状态码${code}`;
      break;
    case 404:
      errorMessage = `请求错误,未找到该资源 --异常服务状态码${code}`;
      break;
    case 405:
      errorMessage = `请求方法未允许 --异常服务状态码${code}`;
      break;
    case 408:
      errorMessage = `请求超时 --异常服务状态码${code}`;
      break;
    case 500:
      errorMessage = `服务器端异常 --异常服务状态码${code}`;
      break;
    case 501:
      errorMessage = `网络未实现 --异常服务状态码${code}`;
      break;
    case 502:
      errorMessage = `网络错误 --异常服务状态码${code}`;
      break;
    case 503:
      errorMessage = `服务不可用 --异常服务状态码${code}`;
      break;
    case 504:
      errorMessage = `网络超时 --异常服务状态码${code}`;
      break;
    case 505:
      errorMessage = `http版本不支持该请求 --异常服务状态码${code}`;
      break;
    default:
      errorMessage = `其他连接错误 --无法获取异常服务状态码`;
  }
  useMessage({
    type: 'error',
    message: errorMessage,
  });
};
